package br.com.ordemservico.model;

import java.io.Serializable;

import javax.persistence.*;

/**
 * Entity implementation class for Entity: Veiculo
 *
 */
@Entity
@NamedQueries({
	@NamedQuery(name="Veiculo.findAll", query="select c from Veiculo c"),
	@NamedQuery(name="Veiculo.verificarCPF", query="select c from Veiculo c where c.placa = :placa")
	})


public class Veiculo implements Serializable {

	
	private static final long serialVersionUID = 1L;
	@Id
	@SequenceGenerator(name="VEICULO_IDVEICULO_GENERATOR", sequenceName="VEICULO_ID_VEICULO_SEQ", allocationSize=1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="VEICULO_IDVEICULO_GENERATOR")
	private long id_veiculo;
	@Column
	private String placa;
	@Column
	private String modelo;
	@Column
	private String marca;
	@Column
	private String cor;
	@Column
	private String ano;
	
	
	
	public Veiculo() {
		super();
	}



	public Veiculo(String placa, String modelo, String marca, String cor) {
		this();
		setPlaca(placa);
		setMarca(marca);
		setModelo(modelo);
		setCor(cor);
	}



	public long getId_veiculo() {
		return id_veiculo;
	}



	public void setId_veiculo(long id_veiculo) {
		this.id_veiculo = id_veiculo;
	}



	public String getPlaca() {
		return placa;
	}



	public void setPlaca(String placa) {
		this.placa = placa.toUpperCase();
	}



	public String getModelo() {
		return modelo;
	}



	public void setModelo(String modelo) {
		this.modelo = modelo.toUpperCase();
	}



	public String getMarca() {
		return marca;
	}



	public void setMarca(String marca) {
		this.marca = marca.toUpperCase();
	}



	public String getCor() {
		return cor;
	}



	public void setCor(String cor) {
		this.cor = cor.toUpperCase();
	}



	@Override
	public String toString() {
		return "Veiculo [id_veiculo=" + id_veiculo + ", placa=" + placa
				+ ", modelo=" + modelo + ", marca=" + marca + ", cor=" + cor
				+ "]";
	}



	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((placa == null) ? 0 : placa.hashCode());
		return result;
	}



	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Veiculo other = (Veiculo) obj;
		if (placa == null) {
			if (other.placa != null)
				return false;
		} else if (!placa.equals(other.placa))
			return false;
		return true;
	}
	
	
   
}
